The 2019 - 2020 Coronavirus pandemic will be one of the most influential health crisis of the 21st century. COVID-19, the strain responsible for the pandemic, is a new strain of coronavirus, not previously identified in humans, causing respiratory stress and disease. The health impact continues of the virus is of great concern worldwide. However, the economic impact of the COVID-19 pandemic will continue to be felt for months after the virus has gone. Over the past several weeks, the global share market has dropped, businesses have closed, and governments have introduced totalitarian social distancing and lockdown laws.
In this project, the impact of government responses and indicators on the coronavirus pandemic is explored. The following visualisations explore the fundamental trends of the coronavirus pandemic, the different lockdown measures that have been introduced and how government indicators have influenced the pandemic.
Below are links to Jupyter Notebooks containing the explanations for the visualisations presented in this website, the datasets utilised and the original code used to create the visualisations.
Explainer Notebook: https://ldorigo.github.io/visualisation_project/explainer.html Code: https://ldorigo.github.io/visualisation_project/code.html Datasets: https://drive.google.com/open?id=19Q156Mwic7mMJDArwol_BSnOoVu_T8O3
Before you continue through to the visualisations, first, there are a few crucial points you should be aware of regarding the use of the website. Down the bottom right-hand corner of the website, you will see that there is a set of arrows. These are used to navigate through the pages of the website. Alternatively, you can use the arrows on the keyboard of your computer if available. To move between visualisations, please use the right arrow. For each visualisation, there are three parts: the introduction, visualisation and conclusion. Use the right arrow to move between visualisations and the down arrow to move between the introduction, visualisation and conclusion. You can use the up and left arrows at any time to go back to previous sections of the website.
The first visualisation shows an overview of the number of COVID-19 cases in all countries at a given date. The slider down the bottom of the plot can be used to vary the data and show it for different dates. Dragging the slider shows the development of pandemic. Hovering over a country will show the total number of cases at the chosen date.
plotly.offline.init_notebook_mode()
The general trend shows the outbreak firstly isolated in China, before spreading to Europe and North America. From the visualisation, we can see that the number of cases has increased at the greatest rate over the last month shown in the visualisation. The plot also shows that while some countries have over 1 million cases, others are still waiting for larger numbers of the population to be infected, for example, countries in Africa. What is now interesting to visualise is the overall statistics of the number of cases.
The following plot shows the general evolution of the number of confirmed COVID-19 cases, COVID-19 related deaths and recovered patients. For each category of patient, two trends are presented, an exponential trend and a logarithmic trend.
display(fig)
The cases summary visualisation shows the exponential and logarithmic growth of each category of COVID-19 Case. When looking at the exponential trends, we can see that the steep exponential increase in the number of cases began around the 22nd of March 2020. This trend occurred over a month after the World Health Organisation declared the pandemic on the 11th of February 2020. Comparatively, when we analyse the logarithmic trend plot, we can see that a carrying capacity (observed maximum number of cases) was observed around the 21st of February. However, this was not the true carrying capacity as the pandemic continued to evolve and multiply after this date which, is where the second increase in cases is observed.
An epidemic or pandemic curve is a form of statistical chart which is used to visualise the evolution of a disease or virus outbreak. This form of visualisation can be used to map the different stages of a pandemic but also determine when different stages of a disease or virus outbreak occur. The term "flatten the curve" has been heard continuously over the last few months during the COVID-19 pandemic. What this refers to is the pandemic curve. Authorities want to bring the peak of the curve down, so the health care systems worldwide are not overwhelmed. For this visualisation, only specific countries have been analysed; these include Australia, China, Denmark, France, India, Iran, Italy, Mexico, Sweden and the USA. An important point to note is that the pandemic curve represents the number of cases on a given day and does not account for any recovered patients or deaths. The data here is also shown as the number of cases per population of the above countries. You will be able to see the fraction of the population that has been infected and compare this to other countries. For this visualisation, you may choose the countries you wish to visualise by clicking and unclicking the country abbreviation on the left-hand side of the visualisation.
show(p)
From this visualisation, we can see that every country is at a different stage of the pandemic. Some countries, for example, Australia and China, have successfully flattened the curve compared to countries like Italy and the USA where a large percentage of the population has been infected with the virus. From the plot, we can see that the virus in China and Australia has successfully been contained and these countries are entering the final stages of the pandemic as signified by the dropping off of their pandemic curve. Comparatively, for countries like the USA, Sweden and France, the pandemic is still in the beginning stages as the number of cases continues to climb. For some countries, their pandemic curve follows a clear bell curve trend. While for others like France and Denmark, the curve is a bit more jagged. These trends are all related to the types of government measures that have been introduced, which are explored in the following visualisation.
To get an overview of how different countries reacted to the outbreak, we have assembled a visualisation that shows the specific measures implemented by each country, plotted by the time since outbreak and number of cases at the time of implementation. You can select different categories and obtain more information on specific measures by hovering them.
show(measures_plot)
What is interesting in this visualisation is that many countries have introduced measures over time, rather than all at once. We can see that each time a new measure is introduced, the cases at the time the measure was introduced has increased from the last time the government introduced a measure. What this trend suggests is that the governments are actively monitoring the situation and are responding to the growing number of cases with stricter measures in an attempt to curve the spread of the virus. There are many different reasons why different measures are introduced; however questions like have some countries been quicker to put the country into lockdown because they don’t have the health system capacity, are interesting to explore. The following plots explore the government measures and how the healthcare system may have contributed to the different government decisions regarding the pandemic.
To start the more analytical part of this investigation, let's look at how countries' GDP and expenditure on healthcare influence the spread of the disease. Notice the red line, which represents the linear regression of the number of cases (adjusted by population) on both of the indicators mentioned above. Hovering over a point in this visualisation will reveal the country.
show(health_plot)
Surprisingly, it appears that greater GDPs and greater expenditures on healthcare are positively correlated with the number of cases in the country. Countries like the USA and Luxembourg have a greater GDP and spend more on healthcare; however, have a large number of cases per population. This trend is likely to be influenced by the fact that the coronavirus spread initially through many wealthy countries in Europe and thus they have been experiencing the pandemic for an extended period which, results in an increase in cases. However, this could also be explained by government stances relating to healthcare. For countries with better healthcare systems, maybe the governments felt better poised to treat patients with the virus and thus waited longer to put the country into lockdown. This is in comparison to poorer countries who may have gone straight into lockdown. The next visualisation explores this trend.
We now want to look at how the capacity of a countries healthcare system impacted the speed of government responses. Questions like "how does the strength of a country's healthcare system influence how quickly that country responds to the pandemic?" are to be answered. Here, we can see how the healthcare coverage index is related to the time that it took for the government to implement measures that correspond to 50 or more on the Oxford Stringency Index. The Oxford stringency index quantifies the different government measures, how strict they are and how well the government has responded. An important note here is that the size of a countries "bubble" on this plot is related to the capacity of the healthcare system. Hovering over a point in this visualisation will reveal the country and numerical information.
show(speed_of_reaction_plot)
The idea behind this plot was to see if countries with a powerful healthcare system (and with a lot of hospital beds) could "afford" to wait longer before implementing strong measures. And, indeed, this appears to be the case: the time it took for countries to enforce stringent policies seems to increase with the healthcare coverage index, and countries with many hospital beds per people ("big bubbles") tend to be on the higher part of the plot.
Note that as always, there may be many confounding factors at play. For instance, the coronavirus hit Europe first, and Europe has many of the most developed healthcare systems in the world, meaning that countries with "better healthcare" may have had less time overall to plan and implement policies. Other government factors may have also come into play, which, is explored in the next visualisation.
Let's look at the influence that various political and economic indicators have on a country's ability to face the pandemic. On the horizontal axis, we have different indicators that represent multiple aspects of a country's government. On the vertical axis, we have, for various ranges of each indicator, the proportion of countries in that range that have succeeded in curbing the pandemic - i.e., countries whose pandemic curve has reached a peak.
show(grid)
Some of the trends were to be expected: for instance, the proportion of countries that managed to control the epidemic is greater for countries whose "Government effectiveness" and "Rule of law" are high. On the other hand, some trends are quite surprising and interesting: "Voice and Accountability" (which is a measure of democracy) has two peaks on both sides of the spectrum. Our interpretation is that countries with strong, totalitarian governments (the peak on the left of the graph), where a citizen has little choice but to obey the government's decisions, are better able to react swiftly to a crisis like this than weak democracies (the valley in the middle of the graph). On the other hand, strong democracies (the peak on the right of the graph) mostly correspond to wealthy European countries, which are better able to face the crisis due to many other reasons.
What is now interesting to analyse is how the stringency indexes have evolved and their impact on the pandemic curve, since we now understand some of the factors that have influenced government measures.
As we explored how the pandemic spread across the world, we will now take a look into how the government measures have changed over time. This is represented using the oxford stringency index. The slider down the bottom of the plot can be used to vary the data and show it for different dates. Dragging the slider shows the change in stringency index as the pandemic evolved. Hovering over a country will provide further numerical information. This visualisation is based off the visualisations presented by the University of Oxford [4].
pio.write_html(fig, "fig_2.html")
HTML(filename="./fig_2.html")
An interesting observation can be made around the first weeks of March, where there is an increase in the stringency index worldwide. When we compare this observation to the summary statistics plot shown at the beginning of the website, we can see that this was around the time when the number of coronavirus cases worldwide began to increase very quickly. Thus explaining the increase in stringency index as governments attempt to stop the spread of the virus.
Now that we have seen the evolution of the stringency index worldwide, it is now interesting to see how this correlates to the number of coronavirus cases. The following visualisation shows the maximum number of cases and the maximum stringency index for each country worldwide. When you hover over a point, you can see which country this corresponds to. A logistic regression trend line is also shown in red. This visualisation is based off the visualisations presented by the University of Oxford [4].
show(p)
The clear trend in this visualisation is that as the number of coronavirus cases increases, the maximum stringency level also increases. This is expected as governments begin to introduce stricter measures in an attempt to curb the virus. Majority of countries reached a maximum stringency level of greater than 80, which means that many governments have adopted strict measures effectively shutting down countries to try and stop the spread of coronavirus. What is interesting to now look at is how these high stringency levels have impacted the pandemic curve.
This visualisation looks at how the stringency index has impacted the pandemic curve. The pandemic curve is the same as seen previously; however, this time, the bars have been coloured to represent the stringency index.
show(layout)
WARNING:bokeh.core.validation.check:W-1000 (MISSING_RENDERERS): Plot has no renderers: Figure(id='8546', ...)
As the curve rises to a peak, the stringency index increases with this trend. When reaching a peak, most countries had implemented strict government measures. In most cases, after the peak and the introduction of the strict lockdown measures as shown by the high stringency index, the number of active cases began to decrease. However, some countries have implemented strict measures before a peak is in sight. These countries include India, France, Denmark, Mexico and France. For many of these countries, the number of cases is still rising. This trend is perhaps preemptive of the governments and what is to come. For some countries, there is a clear build-up of the stringency index, showing that the government measures are slowing becoming stricter. However, for other countries, there was not stringency index, then a sudden jump was seen to a high stringency index, for example, France. This suggests governments trying to wait out the implementation lockdown measures but then being overwhelmed by the number of cases, throwing the country into sudden lockdown.
From all of the visualisations, it is clear that the impact of coronavirus has been felt worldwide. When looking at the evolution of the virus, we can see that the rate of spread has increased over the last six weeks. As a result of this, the exponential growth of the virus has become clear and increasingly strict government measures have been introduced as shown by the stringency index.
The pandemic curve showed that countries worldwide are at different stages of the pandemic. The date that a virus entered a country has also been seen to impact when government measures were introduced. As the number of cases increases, the government measures become stricter. This suggested the active monitoring of the pandemic by governments and how they are responding to the growing number of cases with stricter measures in an attempt to curve the spread of the virus. However, there are often other reasons why different government measures were enacted. GDP and healthcare expenditure had a great influence on the measures introduced. When looking at the healthcare capacities of the, it is clear that the countries with a greater healthcare capacity waited longer before implementing strict government measures. However, other government factors come into play. Countries whose government effectiveness and the rule of law indicators are high had greater control over the pandemic.
The stringency index, like the number of cases, has increased worldwide over the last six weeks as a result of the increase in cases. From a logistic regression model, the stringency index was seen to increase with the number of cases which, is expected as a result of the stricter government measures. Before reaching the peak of the curve, governments had enforced the strictest measures in their country (there may be differences between countries). In most cases, after the peak and the introduction of the strict lockdown measures, the number of active cases began to decrease, which, shows the positive impact of government measures.
ACAPS. 2020. #COVID19 Government Measures Dataset. [Online]. Available: https://www.acaps.org/covid19-government-measures-dataset. [Accessed 12 April 2020].
Johns Hopkins University. 2020. Coronavirus Resource Center. [Online]. Available: https://coronavirus.jhu.edu/. [Accessed 12 April 2020].
The World Bank. 2019. World Bank Open Data. [Online]. Available: https://data.worldbank.org/. [Accessed 12 April 2020].
University of Oxford. 2020. Coronavirus Government Response Tracker. [Online]. Available: https://www.bsg.ox.ac.uk/research/research-projects/coronavirus-government-response-tracker. [Accessed 12 April 2020].